<?php

class Application_Form_UcServidoresEdit extends Zend_Form
{

    public function init()
    {


        $id= Zend_Controller_Front::getInstance()->getRequest()->getParam('id');
        

        $m_UcExtra=new Application_Model_UcExtra();
        $extra = $m_UcExtra->GetAll(array('id_uc=?'=>$id));



        $this->setMethod('post');
        $this->setAttrib('id', 'ajax_form');


        $this->setDecorators(array("FormElements", array("HtmlTag", array("tag" => "div")), "Form"));


        $cliente = new Sgit_Form_Element_Select_ProyectosUC('id_proyecto');
        $cliente->setLabel('Cliente')->setRequired(true);


        $pep = new Zend_Form_Element_Text('pep');
        $pep->setLabel('Pep')->setAttrib('size', 100)->setRequired(true)->addFilter('StringTrim')->addValidator('StringLength', false, array(0, 25));


        $ticket_nec = new Zend_Form_Element_Text('ticket_nec');
        $ticket_nec->setLabel('Ticket NEC')->setAttrib('size', 100)->addFilter('StringTrim')->addValidator('StringLength', false, array(0, 20));


        $ticket_cliente = new Zend_Form_Element_Text('ticket_cliente');
        $ticket_cliente->setLabel('Ticket Cliente')->setAttrib('size', 100)->addFilter('StringTrim')->addValidator('StringLength', false, array(0, 15));


        $fecha_alta = new Sgit_Form_Element_Fecha('fecha_alta');
        $fecha_alta->setLabel('Fecha Alta');

        $fecha_baja = new Sgit_Form_Element_Fecha('fecha_baja');
        $fecha_baja->setLabel('Fecha Baja');


        $tipo_servidor = new Sgit_Form_Element_Select_TipoServidorUc('id_tipo_servidor');
        $tipo_servidor->setLabel('');


        $nombre_servidor = new Zend_Form_Element_Text('nombre_servidor');
        $nombre_servidor->setLabel('')->addValidator('StringLength', false, array(0, 200));

        $storage = new Zend_Form_Element_Text('storage');
        $storage->setLabel('')->setAttrib('size', 2)->addValidator(new Sgit_Validate_Multiplo50());

        $ram = new Zend_Form_Element_Text('ram');
        $ram->setLabel('')->setAttrib('size', 2)->addValidator(new Sgit_Validate_Ram());

        $lun = new Zend_Form_Element_Text('lun');
        $lun->setLabel('')->setAttrib('size', 2)->addValidator('Int');

        $internet = new Zend_Form_Element_Text('internet');
        $internet->setLabel('')->setAttrib('size', 2)->addValidator('Int');

        $backup = new Zend_Form_Element_Text('backup');
        $backup->setLabel('')->setAttrib('size', 2)->addValidator('Int');

        $firewall = new Zend_Form_Element_Text('firewall');
        $firewall->setLabel('')->setAttrib('size', 2)->addValidator('Int');

        $monitor = new Zend_Form_Element_CheckBox('monitor|');
        $monitor->setLabel('')->setAttrib('size', 2);



        $fecha_ram = new Sgit_Form_Element_Fecha('fecha_ram');
        $fecha_ram->setLabel('');
        
        $fecha_storage = new Sgit_Form_Element_Fecha('fecha_storage');
        $fecha_storage->setLabel('');

        $cantidad_storage = new Zend_Form_Element_Text('cantidad_storage');
        $cantidad_storage->setLabel('')->setAttrib('size', 2)->addValidator(new Sgit_Validate_Multiplo50());

        $cantidad_lun = new Zend_Form_Element_Text('cantidad_lun');
        $cantidad_lun->setLabel('')->setAttrib('size', 2)->addValidator('Int');

        $cantidad_ram = new Zend_Form_Element_Text('cantidad_ram');
        $cantidad_ram->setLabel('')->setAttrib('size', 2)->addValidator(new Sgit_Validate_Ram());


        foreach($extra as $v){
          
            $fecha = new Sgit_Form_Element_Fecha('fecha'.$v['id']);
            $fecha->setLabel('')->setValue(Sgit_Filter_DateTo::filter($v['fecha']))
                ->setAttribs(array('class'=>'fecha','org'=>'fechaextra','key'=>$v['id'],'tipo'=>$v['tipo']));

            
            $this->addElement($fecha);
            
            if($v['tipo']=='ram'){
                $ram = new Zend_Form_Element_Text('cantidad'.$v['id']);
                $ram->setLabel('')
                ->setAttrib('size', 4)
                ->setAttrib('class','extra' )
                ->setValue($v['cantidad'])
                ->addValidator(new Sgit_Validate_Ram());
                $this->addElement($ram);
                
            }
            if($v['tipo']=='storage'){
                
                $storage = new Zend_Form_Element_Text('cantidad'.$v['id']);
                $storage->setLabel('')
                ->setAttrib('size', 4)
                ->setAttrib('class','extra' )
                ->setValue($v['cantidad'])
                ->addValidator(new Sgit_Validate_Multiplo50());
                
                $lun = new Zend_Form_Element_Text('cantidad_lun'.$v['id']);
                $lun->setLabel('')
                ->setAttrib('size', 4)
                ->addValidator('Int')
                ->setValue($v['lun'])
                ->setAttrib('class','lun')
                ->setAttrib('class','extra' );
                
                $this->addElement($storage);
                $this->addElement($lun);
            }

        }













        $this->addElement($nombre_servidor)
            ->addElement($cantidad_lun)
            ->addElement($cantidad_ram)
            ->addElement($cantidad_storage)
            ->addElement($internet)
            ->addElement($backup)
            ->addElement($firewall)
            ->addElement($monitor)
            ->addElement($tipo_servidor)
            ->addElement($cliente)
            ->addElement($pep)
            ->addElement($ticket_nec)
            ->addElement($ticket_cliente)
            ->addElement($fecha_alta)
            ->addElement($fecha_baja)
            ->addElement($fecha_storage)
            ->addElement($fecha_ram);


        $this->setElementDecorators(array('ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'span', 'class' => 'element')), array('Label', array('tag' => 'span')), array(array('row' => 'HtmlTag'), array('tag' => 'span')), ));

    }
}
